Fuzzy Logic (namespace Fuzzy)


Set
Fuzzy::Set& operator =(const Fuzzy::Set& init)
Fuzzy::Value IF(const Fuzzy::Set& input)
Fuzzy::Value IF(const Fuzzy::Value input)
Fuzzy::Value& GetFuzzyValue(double input)
Set()
Set(const Fuzzy::Set& init)
bool CreateGaussian(double center, double width)
It creates a gaussian fuzzy set
bool CreateHeavyTailed(double center, double width)
It creates a heavy tailed fuzzy set
bool CreateLeftGaussian(double center, double width)
It creates a left gaussian fuzzy set
bool CreateLeftHeavyTailed(double center, double width)
It creates a left heavy tailed fuzzy set
bool CreateLeftSigmoidal(double crossoverPoint, double slope)
It creates a left sigmoidal fuzzy set
bool CreateLeftTrapezoidal(double a, double b)
It creates a left trapezoidal fuzzy set using the values: (a , 1) and (b, 0) with a < b The membership is "one" for any input value that is less than "a"
bool CreateRightGaussian(double center, double width)
It creates a right gaussian fuzzy set
bool CreateRightHeavyTailed(double center, double width)
It creates a right heavy tailed fuzzy set
bool CreateRightSigmoidal(double crossoverPoint, double slope)
It creates a right sigmoidal fuzzy set
bool CreateRightTrapezoidal(double a, double b)
It creates a right trapezoidal fuzzy set using the values (x,y): (a , 0) and (b, 1) with a < b The membership is "one" for any input value that is greater than "b"
bool CreateSigmoidal(double center, double slope)
It creates a sigmoidal fuzzy set
bool CreateTrapezoidal(double a, double b, double c, double d)
It creates a trapezoidal fuzzy set using the values: (a , 0), (b, 1), (c, 1), (d, 0) with a < b < c < d
bool CreateTriangular(double a, double b, double c)
It creates a triangular fuzzy set using the values: (a , 0), (b, 1) and (c, 0) with a < b < c
bool GetGaussian(double& out_center, double& out_width)
It returns the center and width of gaussian fuzzy set
bool GetHeavyTailed(double& out_center, double& out_width)
It returns the center and width of heavy tailed fuzzy set
bool GetLeftSigmoidal(double& out_crossoverPoint, double& out_slope)
It returns the values of a left sigmoidal fuzzy set
bool GetLeftTrapezoidal(double& out_a, double& out_b)
It returns the point values of a left trapezoidal fuzzy set
bool GetRightSigmoidal(double& out_crossoverPoint, double& out_slope)
It returns the values of a right sigmoidal fuzzy set
bool GetRightTrapezoidal(double& out_a, double& out_b)
It returns the point values of a right trapezoidal fuzzy set
bool GetSigmoidal(double& out_center, double& out_slope)
It returns the values of a sigmoidal fuzzy set
bool GetTrapezoidal(double& out_a, double& out_b, double& out_c, double& out_d)
It returns the point values of a trapezoidal fuzzy set
bool GetTriangular(double& out_a, double& out_b, double& out_c)
It returns the values of a triangular fuzzy set
double GetMembership(double input)
It returns the set membership for the input value. The returned value is in the range from 0 to 1
int GetType()
It returns one of: FUZZY_SET_ERROR, FUZZY_SET_TRIANGULAR, FUZZY_SET_TRAPEZOIDAL, FUZZY_SET_LEFTTRAPEZOIDAL, FUZZY_SET_RIGHTTRAPEZOIDAL, FUZZY_SET_SIGMOIDAL, FUZZY_SET_LEFTSIGMOIDAL, FUZZY_SET_RIGHTSIGMOIDAL, FUZZY_SET_GAUSSIAN, FUZZY_SET_HEAVYTAILED
void Delete()
~ Set()

Value
Fuzzy::Value operator &&(const Fuzzy::Value& init)const
Fuzzy::Value operator ||(const Fuzzy::Value& init)const
Fuzzy::Value& operator =(const Fuzzy::Value& init)
Fuzzy::Value& operator =(const double& init)
Value()
Value(const Fuzzy::Value& init)
Value(const double init)
void IF(const Fuzzy::Value& value)
~ Value()

Variable
Fuzzy::Value& operator [ ](const wchar_t* name)
Variable()
bool AddGaussianSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddHeavyTailedSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddLeftGaussianSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddLeftHeavyTailedSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddLeftSigmoidalSet(const wchar_t* name, double crossoverPoint, double slope)
Please set the minimum and maximum of the variable
bool AddLeftTrapezoidalSet(const wchar_t* name, double a, double b)
Please set the minimum and maximum of the variable
bool AddRightGaussianSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddRightHeavyTailedSet(const wchar_t* name, double center, double width)
Please set the minimum and maximum of the variable
bool AddRightSigmoidalSet(const wchar_t* name, double crossoverPoint, double slope)
Please set the minimum and maximum of the variable
bool AddRightTrapezoidalSet(const wchar_t* name, double a, double b)
Please set the minimum and maximum of the variable
bool AddSigmoidalSet(const wchar_t* name, double center, double slope)
Please set the minimum and maximum of the variable
bool AddTrapezoidalSet(const wchar_t* name, double a, double b, double c, double d)
Please set the minimum and maximum of the variable
bool AddTriangularSet(const wchar_t* name, double a, double b, double c)
Please set the minimum and maximum of the variable
bool CreateGaussianLRSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
LeftGaussianSet, GaussianSet, GaussianSet, ..., RightGaussianSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateGaussianSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
GaussianSet, GaussianSet, GaussianSet, ..., GaussianSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateHeavyTailedLRSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
LeftHeavyTailedSet, HeavyTailedSet, HeavyTailedSet, ..., RightHeavyTailedSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateHeavyTailedSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
HeavyTailedSet, HeavyTailedSet, HeavyTailedSet, ..., HeavyTailedSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateSigmoidalLRSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
LeftSigmoidalSet, SigmoidalSet, SigmoidalSet, ..., RightSigmoidalSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateSigmoidalSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
SigmoidalSet, SigmoidalSet, SigmoidalSet, ..., SigmoidalSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateTrapezoidalLRSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
LeftTrapezoidalSet, TrapezoidalSet, TrapezoidalSet, ..., RightTrapezoidalSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateTrapezoidalSets(const wchar_t* * names, double minimum, double maximum, size_t setCount)
TrapezoidalSet, TrapezoidalSet, TrapezoidalSet, ..., TrapezoidalSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateTriangularLRSets(const wchar_t* names [ ], double minimum, double maximum, size_t setCount)
LeftTrapezoidalSet, TriangularSet, TriangularSet, ..., RighTrapezoidalSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool CreateTriangularSets(const wchar_t* names [ ], double minimum, double maximum, size_t setCount)
TriangularSet, TriangularSet, TriangularSet, ..., TriangularSet const wchar_t *names[] = {L"Cold", L"Normal", L"Hot"};
bool GetGaussianSet(const wchar_t* name, double& out_center, double& out_width)
bool GetGraph(const wchar_t* name, int pointCount, Win::Graph& out_graph)
It creates a graph with the specified pointCount from the Fuzzy::Set specified by its name
bool GetHeavyTailedSet(const wchar_t* name, double& out_center, double& out_width)
bool GetLeftSigmoidalSet(const wchar_t* name, double& out_crossoverPoint, double& out_slope)
bool GetLeftTrapezoidalSet(const wchar_t* name, double& out_a, double& out_b)
bool GetOutputGraph(int pointCount, Win::Graph& out_graph)
It creates a graph with the specified pointCount for the output variable
bool GetRightSigmoidalSet(const wchar_t* name, double& out_crossoverPoint, double& out_slope)
bool GetRightTrapezoidalSet(const wchar_t* name, double& out_a, double& out_b)
bool GetSigmoidalSet(const wchar_t* name, double& out_center, double& out_slope)
bool GetTrapezoidalSet(const wchar_t* name, double& out_a, double& out_b, double& out_c, double& out_d)
bool GetTriangularSet(const wchar_t* name, double& out_a, double& out_b, double& out_c)
double GetCrispValue()
double GetMembership(const wchar_t* name)
double GetTotalMembership(double input)
For an output variable, it returns the total membership value based on the truth level of each fuzzy set in the variable
int GetSetCount()
int GetSetType(const wchar_t* name)
It returns one of: FUZZY_SET_ERROR, FUZZY_SET_TRIANGULAR, FUZZY_SET_TRAPEZOIDAL, FUZZY_SET_LEFTTRAPEZOIDAL, FUZZY_SET_RIGHTTRAPEZOIDAL, FUZZY_SET_SIGMOIDAL, FUZZY_SET_LEFTSIGMOIDAL, FUZZY_SET_RIGHTSIGMOIDAL, FUZZY_SET_GAUSSIAN, FUZZY_SET_HEAVYTAILED
void DeleteAllSets()
void SetCrispValue(double value)
~ Variable()
double CrispValue
© Copyright 2000-2021 selo. All Rights Reserved. Jul 22 2021.